package hc.bre.variable

import hc.bre.ComponentConfig
import hc.bre.cmn.RuleDefinition
import hc.bre.cmn.TreeOption
import hc.bre.data.DataDefinition

@groovy.transform.CompileStatic
@groovy.transform.ToString(includeNames=true,includePackage=false)
class VariableDefinition extends DataDefinition<VariableItem> {
	public static final ComponentConfig _config ;
	static {
		_config = new ComponentConfig();
		_config.rtype = 'variable';
		_config.rname = '请求变量定义';
		_config.homepage = 'rule/VariableEditor.htm';
		_config.description = '''
请求变量是业务决策时业务系统传递给决策服务的数据定义，也用于决策服务的结果及中间值返回。
''';
	};
	
//	List<VariableItem> list =[];

	public VariableDefinition() {
		this.rname = _config.rname
	}

//	@Override
//	public VariableDefinition load(Map map) {
//		super.load(map);
//
//		this.list = hc.Util.loadList(map['list'], VariableItem.class)
//
//		return this;
//	}

	public String accessRouteOf(int id) {
		List<VariableItem> lst = VariableItem.routeFrom(id, this.list);
		return lst.collect{it.code}.join('.')
	}
}
